//
//  SearchResultView.swift
//  APP
//
//  Created by gy on 2022/3/23.
//

import UIKit

class SearchResultView: UIView {

    private var sourceArr = [String]()
    var selectKeywordBlock: ((String) -> Void)?
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        configUI()
    }
    func setInfo(keywords: [String]) {
        sourceArr = keywords
        resultTableView.reloadData()
    }
    
    // MARK: ---- configUI
    func configUI() {
        
        addSubview(resultTableView)
        resultTableView.delegate = self
        resultTableView.dataSource = self
        resultTableView.tableFooterView = UIView()
        resultTableView.separatorStyle = .none
        resultTableView.register(cellClass: SearchResultViewTableViewCell.self)
        
        resultTableView.snp.makeConstraints { make in
            make.edges.equalToSuperview()
        }
        
    }
    private lazy var resultTableView = UITableView()
    
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

extension SearchResultView : UITableViewDelegate,UITableViewDataSource {
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 44
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return sourceArr.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(SearchResultViewTableViewCell.self, indexPath: indexPath)
        let keyword = sourceArr[indexPath.row]
        cell.setKeyword(keyword)
        return cell
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        guard let handle = selectKeywordBlock else { return }
        handle(sourceArr[indexPath.row])
        
    }
    
}

